home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-03-22 | 31.6 KB | 564 lines | [04] ASCII Text (0x0000) |
- Apple II
- File Type Notes
- _____________________________________________________________________________
- Developer Technical Support
-
- File Type: $A0 (160)
- Auxiliary Type: $0000
-
- Full Name: WordPerfect Word Processing File
- Short Name: WordPerfect Document
-
- Written by: Matt Deatherage January 1989
-
- Files of this type and auxiliary type contain WordPerfect(TM) documents.
- _____________________________________________________________________________
-
- WordPerfect(TM) for the Apple IIe and IIc provide more than 110 word
- processing features. In addition to a 50,000-word spelling checker and a
- thesaurus, the program offers footnotes, headers and footers, mail-merge,
- macros, search and replace, on-line help, file management, and dozens of
- formatting features.
-
- WordPerfect for the Apple IIGS includes all these features and more. The
- program has a mouse interface with pull-down menus and allows for the editing
- multiple documents. Users can edit an unlimited number of documents at the
- same time and can take advantage of any memory available.
-
- For more information on WordPerfect, contact:
-
- WordPerfect, Inc.
- 1555 North Technology Way
- Orem, Utah 84057
- Attention: Apple II WordPerfect Technical Support
- Telephone: (801) 225-5000
-
- The WordPerfect file format is copyrighted (C) 1984, 1985, 1986, 1987 and 1988
- by WordPerfect Corporation and is printed here with permission.
-
-
- File Structure
-
- WordPerfect files are ASCII files. The text is neither encrypted nor
- compacted. There is no end-of-file character, and padding past the end of a
- document with garbage may cause WordPerfect to crash.
-
- Formatting or function codes are embedded as they occur in the text. No code
- is used for beginning of file or end of file. When creating WordPerfect files
- from other programs, keep in mind the following:
-
- o The initial WordPerfect margin settings are usually 10 and 74,
- and it is best to keep the line length to 65 or less, unless you
- change the margin settings.
- o It is best not to pad with spaces.
-
-
- Function Codes
-
- All function codes are listed in hexadecimal. All except the first five have
- the high bit set. Function codes above $C0 are discussed under "Multi-Byte
- Functions."
-
- Code Command
- $09 Tab
- $0A Hard New Line
- $0B Soft New Page
- $0C Hard New Page
- $0D Soft New Line
-
- $80 No operation
- $81 Turn right justification on
- $82 Turn right justification off
- $83 End of centered text
- $84 End of aligned or flushed right text
- $85 (Used in other WordPerfect Corporation Products)
- $86 Center page from top to bottom
- $87 (Used in other WordPerfect Corporation Products)
- $88 (Used in other WordPerfect Corporation Products)
- $89 Tab after the right margin
- $8A Widow/orphan on
- $8B Widow/orphan off
- $8C Hard end of line and soft end of page
- $8D Footnote number (appears only inside of footnotes)
- $8E Reserved
- $8F Reserved
- $90 (Used in other WordPerfect Corporation Products)
- $91 (Used in other WordPerfect Corporation Products)
- $92 (Used in other WordPerfect Corporation Products)
- $93 (Used in other WordPerfect Corporation Products)
- $94 Underline on
- $95 Underline off
- $96 Reverse video on
- $97 Reverse video off
- $98 (Used in other WordPerfect Corporation Products)
- $99 Overstrike
- $9A Cancel hyphenation of following word
- $9B (Used in other WordPerfect Corporation Products)
- $9C Bold off
- $9D Bold on
- $9E Hyphenation off
- $9F Hyphenation on
- $A0 Hard space
- $A1 (Used in other WordPerfect Corporation Products)
- $A2 (Used in other WordPerfect Corporation Products)
- $A3 (Used in other WordPerfect Corporation Products)
- $A4 (Used in other WordPerfect Corporation Products)
- $A5 (Used in other WordPerfect Corporation Products)
- $A6 (Used in other WordPerfect Corporation Products)
- $A7 (Used in other WordPerfect Corporation Products)
- $A8 (Used in other WordPerfect Corporation Products)
- $A9 Hard hyphen in line
- $AA Hard hyphen at end of line
- $AB Hard hyphen at end of page
- $AC Soft hyphen
- $AD Soft hyphen at end of line
- $AE Soft hyphen at end of page
- $AF (Used in other WordPerfect Corporation Products)
- $B0 (Used in other WordPerfect Corporation Products)
- $B1 (Used in other WordPerfect Corporation Products)
- $B2 (Used in other WordPerfect Corporation Products)
- $B3 (Used in other WordPerfect Corporation Products)
- $B4 (Used in other WordPerfect Corporation Products)
- $B5 (Used in other WordPerfect Corporation Products)
- $B6 (Used in other WordPerfect Corporation Products)
- $B7 (Used in other WordPerfect Corporation Products)
- $B8 (Used in other WordPerfect Corporation Products)
- $B9 (Used in other WordPerfect Corporation Products)
- $BA (Used in other WordPerfect Corporation Products)
- $BB (Used in other WordPerfect Corporation Products)
- $BC Superscript
- $BD Subscript
- $BE Advance 1/2 line up
- $BF Advance 1/2 line down
-
-
- Multi-Byte Functions
-
- Multi-byte function codes mark commands which require more than one byte.
- They mark both the beginning and end of such functions in the file. The
- length is indicated for most functions, but some have a variable length. In
- these cases, programs should scan for the second occurrence of the function
- code to indicate the end of the function.
-
- Length Code Command Format
- 6 $C0 Margin Reset Byte: $C0
- Byte: Old left margin
- Byte: Old right margin
- Byte: New left margin
- Byte: New right margin
- Byte: $C0
-
- 4 $C1 Spacing reset Byte: $C1
- Byte: Old spacing
- Byte: New spacing
- Byte: $C1
- Note: Spacing values are stored in half-line increments.
-
- 3 $C2 Left margin release Byte: $C2
- Byte: Number of spaces
- to go left
- Byte: $C2
- 5 $C3 Center the following text Byte: $C3
- Byte: Type of center:
- 0 = between margins
- 1 = around current
- column
- Byte: Center column number
- Byte: Starting column
- number
- Byte: $C3
- Bytes: Centered text
- Byte: $83
-
- 5 $C4 Align or flush right Byte: $C4
- Byte: Align character
- (see below)
- Byte: Align column number
- Byte: Starting column
- number
- Byte: $C4
- Bytes: Aligned text
- Byte: $84
- Note: If the alignment character is $0A (hard new line) then
- this is a flush right and the alignment column number is the
- right margin; otherwise, the alignment column number is the next
- tab stop.
-
- 6 $C5 Reset hyphenation zone Byte: $C5
- (hotzone) Byte: Old left hotzone
- Byte: Old right hotzone
- Byte: New left hotzone
- Byte: New right hotzone
- Byte: $C5
-
- 4 $C6 Set page number position Byte: $C6
- Byte: Old position code
- Byte: New position code
- Codes:
- 0 = None
- 1 = Top Left
- 2 = Top Center
- 3 = Top Right
- 4 = Top Left
- and Right
- 5 = Bottom Left
- 6 = Bottom Center
- 7 = Bottom Right
- 8 = Bottom Left
- and Right
- Byte: $C6
- 6 $C7 Set page number Byte: $C7
- Byte: Old number,high byte
- Byte: Old number,low byte
- Byte: New number,high byte
- Byte: New number,low byte
- Byte: $C7
- Note: The page numbers are words with the bytes in the "wrong" order.
-
- 8 $C8 Set page number column Byte: $C8
- positions Byte: Old left position
- Byte: Old center position
- Byte: Old right position
- Byte: New left position
- Byte: New center position
- Byte: New right position
- Byte: $C8
- 42 $C9 Set tabs Byte: $C9
- 20 Bytes:Old tab table
- 20 Bytes:New tab table
- Byte: $C9
- Note: Each bit in the tab table represents one position, from
- bit 0 to bit 159.
-
- 3 $CA Conditional end of page Byte: $CA
- Byte: Number of single-
- spaced lines not
- to be broken
- Byte: $CA
-
- 6 $CB Set pitch and/or font Byte: $CB
- Byte: Old pitch
- Byte: Old font
- Byte: New pitch
- Byte: New font
- Byte: $CB
- Note: If the pitch is negative, then it is proportional.
-
- 4 $CC Set temporary margin Byte: $CC
- (indent) Byte: Old temporary margin
- Byte: New temporary margin
- Byte: $CC
-
- 3 $CD End of temporary margin Byte: $CD
- Byte: Temporary margin
- Byte: $CD
-
- 4 $CE Set top margin Byte: $CE
- Byte: Old top margin
- Byte: New top margin
- Byte: $CE
-
- 3 $CF Suppress page Byte: $CF
- characteristics Byte: Suppress code:
- (Any combination
- valid)
- Bit: Meaning:
- 0 all suppressed
- 1 Page numbers
- suppressed.
- 2 Page number
- moved to
- bottom.
- 3 All headers
- suppressed
- 4 Header A
- suppressed
- 5 Header B
- suppressed
- 6 Footer A
- suppressed
- 7 Footer B
- suppressed
- Byte: $CF
-
- 6 $D0 Set form length Byte: $D0
- Byte: Old form length
- Byte: Old number of
- text lines
- Byte: New form length
- Byte: New number of
- text lines
- Byte: $D0
-
- Variable $D1 Header/footer Byte: $D1
- Byte: Old def byte
- (see below)
- Byte: Number of half-lines
- used by old
- header/footer
- 2 bytes: $FF
- Byte: Left margin
- Byte: Right margin
- Bytes: ASCII Text
- Byte: $FF
- Byte: Number of half-lines
- used by new
- header/footer
- Byte: New def byte
- (see below)
- Byte: $D1
- The format of the def byte is as follows:
- Bits 0-1: Type: 0 = Header A Bits 2-7: Occurrence: 0 = Never
- 1 = Header B 1 = All pages
- 2 = Footer A 2 = Odd pages
- 3 = Footer B 4 = Even pages
-
- Note: The low-order two bits of the old def byte (the old types) must be correct.
-
- Variable $D2 Footnote Byte: $D2
- Byte: Footnote number
- Byte: Number of half-lines
- Byte: $FF
- Byte: Left margin
- Byte: Right margin
- Bytes: ASCII Text
- Byte: $D2
- Note: WordPerfect versions 1.0 and 1.1 use this function code.
- Versions 2.0 and later use function code $E2 instead.
-
- 4 $D3 Set Footnote Number Byte: $D3
- Byte: Old footnote number
- Byte: New footnote number
- Byte: $D3
- Note: WordPerfect versions 1.0 and 1.1 use this function code.
- Versions 2.0 and later use function code $E4 instead.
-
- 4 $D4 (Used in other WordPerfect Corporation Products)
-
- 4 $D5 Set lines per inch Byte: $D5
- Byte: Old LPI code
- Byte: New LPI code
- Byte: $D5
- Note: Only 6 or 8 lines per inch is valid.
-
- 6 $D6 Set extended tabs Byte: $D6
- Byte: Old starting
- position
- Byte: Old increment
- Byte: New starting
- position
- Byte: New increment
- Byte: $D6
- Note: The starting column position must be at least 160.
-
- Variable $D7 (Used in other WordPerfect Corporation Products)
-
- 4 $D8 Set alignment character Byte: $D8
- Byte: Old alignment
- character
- Byte: New alignment
- character
- Byte: $D8
- 4 $D9 Set left margin release Byte: $D9
- (number of columns Byte: Old number
- to go left) Byte: New number
- Byte: $D9
-
- 4 $DA Set underline mode Byte: $DA
- Byte: Old mode (see below)
- Byte: New mode (see below)
- Byte: $DA
- The underline mode is defined as follows:
- 0 = Normal Underline
- 1 = Double Underline
- 2 = Single Underline Continuous
- 3 = Double Underline Continuous
-
- 4 $DB Set sheet feeder bin Byte: $DB
- number Byte: Old number
- Byte: New number
- Byte: $DB
- Note: The number is zero based (bin #1 is stored as 0).
-
- Variable $DC End of page function Byte: $DC
- (WordPerfect inserts this Byte: Number of 1/2 lines
- and it changes with at end of page,
- each version) low 7 bits
- Byte: Number of 1/2 lines
- at end of page,
- high 7 bits
- Byte: Number of 1/2 lines
- used for footnotes
- Byte*: Number of pages
- used for footnotes
- Byte*: Number of footnotes
- on this page
- Byte: CEOP Flag
- Byte: Suppress code
- Byte: $DC
- Note: Bytes marked with an asterisk (*) are fields present
- only in WordPerfect 2.0 and later.
-
- 24 $DD (Used in other WordPerfect Corporation Products)
-
- 4 $DE End of temporary margin Byte: $DE
- Byte: Old left
- temporary margin
- Byte: Old right
- temporary margin
- Byte: $DE
-
- Variable $DF Invisible characters Byte: $DF
- (embedded printer command) Bytes: 7-bit text
- Byte: $DF
-
- 4 $E0 Temporary margin Byte: $E0
- Byte: New right
- temporary margin
- Byte: New left
- temporary margin
- Byte: $E0
-
- 3 $E1 (Used in other WordPerfect Corporation Products)
-
- Variable $E2 New footnote/endnote Byte: $E2
- (WordPerfect 2.0 and later)Byte: Def byte (see below)
- Byte: Value A (see below)
- Byte: Value B (see below)
- Byte: Value C (see below)
- Byte: Value D (see below)
- Byte: Old footnote length
- in 1/2 lines
- Byte: Number of lines
- on page 1
- Byte: Number of lines
- on page 2
- Byte: Number of lines
- on page 3
- .
- .
- .
- Byte: Number of lines
- on page N
- Byte: Number of pages
- Byte: $FF
- Byte: Left margin
- Byte: Right margin
- Bytes: ASCII Text
- Byte: $E2
- The Def Byte is defined as follows:
- Def Bit 0: 0 = use numbers
- 1 = use characters
- Def Bit 1: 0 = footnote
- 1 = endnote
-
- If Def Bit 0 = 0, then Values A and B are the footnote or
- endnote number taken together (see below.) If Def Bit 0 = 1,
- then Value A is the number of characters and Value B is the
- character.
-
- Note: Values A and B (when taken together) and Values C and D
- (always) are 14-bit numbers split into 7-bit bytes, high order
- byte first.
-
- Note: For endnotes, there is just a null between Value D and
- the $FF byte.
-
- 150 $E3 Footnote information/ Byte: $E3
- options
- 74 Bytes:Old Footnote values
- 74 Bytes:New Footnote values
- Byte: $E3
-
- The footnote values are defined as follows: Byte: Spacing
- in footnotes (in
- half-lines)
- Byte: Spacing between
- footnotes (in
- half-lines)
- Byte: Number of lines
- to keep together
- Byte: Flag byte:
- Bit 0: 1 if numbering
- starts
- on each page
- Bits 1-2: (for footnotes)
- 0 = Use numbers
- 1 = Use characters
- 2 = Use letters
- Bits 3-4: (for endnotes)
- 0 = Use numbers
- 1 = Use characters
- 2 = Use letters
- Bits 5-6: 0 = No line
- separator
- 1 = 2" line
- 2 = Line from left
- to right
- margin
- 3 = 2" line and
- continued
- message
- Bit 7: 0 = footnotes
- after text
- 1 = footnotes at
- bottom of page
- Byte: Number of characters
- used in place of
- footnote numbers
- 5 Bytes: Characters used in
- place of footnote
- numbers (null
- terminated if less
- than five)
- Byte: Number of
- displayable
- characters in string
- for footnote text
- 15 Bytes:String for
- footnote text
- Byte: Number of
- displayable
- characters in string
- for endnote text
- 15 Bytes:String for
- endnote text
- Byte: Number of
- displayable
- characters in string
- for footnote note
- 15 Bytes:String for
- footnote note
- Byte: Number of
- displayable
- characters in string
- for endnote note
- 15 Bytes:String for
- endnote note
-
- 6 $E4 New set footnote Byte: $E4
- (WordPerfect 2.0 and later)Byte: Old number,high byte
- Byte: Old number,low byte
- Byte: New number,high byte
- Byte: New number,low byte
- Byte: $E4
-
- Note: The new number is zero based (stored as new number minus one)
- Note: Footnote numbers are 14-bit numbers split into 7-bit
- bytes, high order byte first.
-
- 23 $E5 (Used in other WordPerfect Corporation Products)
- 11 $E6 (Used in other WordPerfect Corporation Products)
- 3 $E7 (Used in other WordPerfect Corporation Products)
- 3 $E8 (Used in other WordPerfect Corporation Products)
- Variable $E9 (Used in other WordPerfect Corporation Products)
- Variable $EA (Used in other WordPerfect Corporation Products)
- 32 $EB (Used in other WordPerfect Corporation Products)
- 4 $EC (Used in other WordPerfect Corporation Products)
- Variable $ED (Used in other WordPerfect Corporation Products)
- 44 $EE (Used in other WordPerfect Corporation Products)
- 18 $EF (Used in other WordPerfect Corporation Products)
- 6 $F0 (Used in other WordPerfect Corporation Products)
- 106 $F1 (Used in other WordPerfect Corporation Products)
- Variable $F2 (Used in other WordPerfect Corporation Products)
- 100 $F3 (Used in other WordPerfect Corporation Products)